import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpModule, JsonpModule, Http, Jsonp, URLSearchParams, Headers } from '@angular/http';

import { SharedModule } from "../../shared/shared.module";
import { BasicRoutingModule } from './basic-routing.module';
import { DicComponent } from "./dic/dic.component";

import { FarmComponent } from "./farm/farm.component";
import { BasicComponent } from './basic.component';
import { DicKeyListComponent } from './dic/dic-key-list/dic-key-list.component';
import { DicKeyEditComponent } from './dic/dic-key-edit/dic-key-edit.component';
import { DicValueListComponent } from './dic/dic-value-list/dic-value-list.component';
import { DicValueEditComponent } from './dic/dic-value-edit/dic-value-edit.component';
import { BladeService } from "../../shared/blade.service";
import { SetofkeyService } from "../../service/setofkey.service";
import { SetofvalueService } from "../../service/setofvalue.service";


import { TurbStatusService } from "../../service/turbstatus.service";
import { MyValidators } from "../../utils/validator/rang";
import { TagService } from "../../service/tag.service";
import { FarmListComponent } from './farm/farm-list/farm-list.component';
import { FarmEditComponent } from './farm/farm-edit/farm-edit.component';
import { TurbstatusComponent } from './turbstatus/turbstatus.component';
import { TurbstatusListComponent } from './turbstatus/turbstatus-list/turbstatus-list.component';
import { TurbstatusEditComponent } from './turbstatus/turbstatus-edit/turbstatus-edit.component';
import { FarmService } from "../../service/farm.service";
import { ColorConversion } from '../../utils/pipe/colorConversion.pipe';
import { FilterDataPipe } from '../..//utils/pipe/filter-data.pipe';
import { TurbstatusCheckComponent } from './turbstatus/turbstatus-check/turbstatus-check.component';
import { TagComponent } from './tag/tag.component';
import { PhaseComponent } from './phase/phase.component';
import { PhaseListComponent } from './phase/phase-list/phase-list.component';
import { PhaseEditComponent } from './phase/phase-edit/phase-edit.component';
import { PhaseService } from "../../service/phase.service";
import { TagListComponent } from './tag/tag-list/tag-list.component';
import { TagDetailsComponent } from './tag/tag-details/tag-details.component';
import { TagEditComponent } from './tag/tag-edit/tag-edit.component';
import { TurbstatusColorComponent } from "./turbstatus/turbstatus-edit/turbstatus-color/turbstatus-color.component";
import { ModelComponent } from "./model/model.component";
import { CircuitComponent } from './circuit/circuit.component';
import { CircuitListComponent } from './circuit/circuit-list/circuit-list.component';
import { CircuitEditComponent } from './circuit/circuit-edit/circuit-edit.component';
import { CircuitService } from "../../service/circuit.service";
import { ModelService } from "../../service/model.service";
import { ModelListComponent } from './model/model-list/model-list.component';
import { ModelEditComponent } from './model/model-edit/model-edit.component';
import { StandardCurveComponent } from './model/standard-curve/standard-curve.component';
import { StateInfoComponent } from './model/state-info/state-info.component';
import { FaultAlarmComponent } from './model/fault-alarm/fault-alarm.component';
import { TagMapComponent } from './model/tag-map/tag-map.component';
import { StandardCurveListComponent } from './model/standard-curve/standard-curve-list/standard-curve-list.component';
import { StandardCurveEditComponent } from './model/standard-curve/standard-curve-edit/standard-curve-edit.component';
import { StandardCurveGroupEditComponent } from './model/standard-curve/standard-curve-group-edit/standard-curve-group-edit.component';

import { MatrixConfigComponent } from './matrix-config/matrix-config.component';
import { MatrixLogicGroupListComponent } from './matrix-config/matrix-logic-group-list/matrix-logic-group-list.component';
import { MatrixLogicGroupEditComponent } from './matrix-config/matrix-logic-group-edit/matrix-logic-group-edit.component';
import { MatrixLogicListComponent } from './matrix-config/matrix-logic-list/matrix-logic-list.component';
import { MatrixLogicEditComponent } from './matrix-config/matrix-logic-edit/matrix-logic-edit.component';
import { MatrixStateListComponent } from './matrix-config/matrix-state-list/matrix-state-list.component';
import { MatrixStateEditComponent } from './matrix-config/matrix-state-edit/matrix-state-edit.component';
import { MatrixStateGroupListComponent } from './matrix-config/matrix-state-group-list/matrix-state-group-list.component';
import { MatrixStateGroupEditComponent } from './matrix-config/matrix-state-group-edit/matrix-state-group-edit.component';
import { StausExperListComponent } from "./staus-exper/staus-exper-list/staus-exper-list.component";
import { StausExperEditComponent } from './staus-exper/staus-exper-edit/staus-exper-edit.component';
import { StausExperComponent } from "./staus-exper/staus-exper.component";
import { UserComponent } from './user/user.component';
import { UserListComponent } from './user/user-list/user-list.component';
import { UserEditComponent } from './user/user-edit/user-edit.component';

import { MatrixStateGroupService } from "../../service/matrix-state-group.service";
import { MatrixStateService } from "../../service/matrix-state.service";
import { MatrixLogicService } from "../../service/matrix-logic.service"
import { MatrixLogicGroupService } from "../../service/matrix-logic-group.service"
import { TurbStatusExprService } from "../../service/turbstatus_expr.service";
import { FactoryService } from "../../service/factory.service";
import { SchemeService } from "../../service/scheme.service";
import { WindPowersService } from "../../service/wind-powers.service";
import { StateInfoGroupEditComponent } from './model/state-info/state-info-group-edit/state-info-group-edit.component';
import { StateInfoListComponent } from './model/state-info/state-info-list/state-info-list.component';
import { StateInfoEditComponent } from './model/state-info/state-info-edit/state-info-edit.component';
import { FaultAlarmListComponent } from './model/fault-alarm/fault-alarm-list/fault-alarm-list.component';
import { FaultAlarmEditComponent } from './model/fault-alarm/fault-alarm-edit/fault-alarm-edit.component';
import { FaultAlarmGroupEditComponent } from './model/fault-alarm/fault-alarm-group-edit/fault-alarm-group-edit.component';
import { TagMapListComponent } from './model/tag-map/tag-map-list/tag-map-list.component';
import { TagMapEditComponent } from './model/tag-map/tag-map-edit/tag-map-edit.component';
import { TagMapGroupEditComponent } from './model/tag-map/tag-map-group-edit/tag-map-group-edit.component';
import { RunStopsService } from "../../service/run-stops.service";
import { FaultService } from "../../service/fault.service";
import { TagMapService } from "../../service/tag-map.service";
import { TurbcomponentService } from "../../service/turbcomponent.service";
import { ModelSchemeService } from "../../service/model-scheme.service";
import { UserService } from "../../service/user.service";
import { RoleService } from "../../service/role.service";
import { CompanyService } from "../../service/company.service";
import { FaultLevelConfigComponent } from './fault-level-config/fault-level-config.component';
import { FaultLevelListComponent } from './fault-level-config/fault-level-list/fault-level-list.component';
import { FaultLevelEditComponent } from './fault-level-config/fault-level-edit/fault-level-edit.component';
import { AlarmBasicConfigComponent } from './alarm-basic-config/alarm-basic-config.component';
import { AlarmBasicConfigListComponent } from './alarm-basic-config/alarm-basic-config-list/alarm-basic-config-list.component';
import { AlarmBasicConfigEditComponent } from './alarm-basic-config/alarm-basic-config-edit/alarm-basic-config-edit.component';
import { AlarmSoundService } from "../../service/alarm-sound.service";
import { SoundComponent } from './sound/sound.component';
import { SoundListComponent } from './sound/sound-list/sound-list.component';
import { SoundEditComponent } from './sound/sound-edit/sound-edit.component';
import { UserFarmAlarmconfigComponent } from './user-farm-alarmconfig/user-farm-alarmconfig.component';
import { UserfarmAlarmconfigListComponent } from './user-farm-alarmconfig/userfarm-alarmconfig-list/userfarm-alarmconfig-list.component';
import { UserfarmAlarmconfigEditComponent } from './user-farm-alarmconfig/userfarm-alarmconfig-edit/userfarm-alarmconfig-edit.component';
import { TurboperCategoryComponent } from './turboper-category/turboper-category.component';
import { TurboperCategoryListComponent } from './turboper-category/turboper-category-list/turboper-category-list.component';
import { TurboperCategoryEditComponent } from './turboper-category/turboper-category-edit/turboper-category-edit.component';
import { TurboperCategoryService } from "../../service/turboper-category.service";
import { FactoryComponent } from './factory/factory.component';
import { FactoryListComponent } from './factory/factory-list/factory-list.component';
import { FactoryEditComponent } from './factory/factory-edit/factory-edit.component';

import { AudioModule } from "../common/audio/audio.module";
import { AudioComponent } from "../common/audio/audio.component";
import { CompanyComponent } from './company/company.component';
import { CompanyListComponent } from './company/company-list/company-list.component';
import { CompanyEditComponent } from './company/company-edit/company-edit.component';
import {
    DropdownModule,
    TreeTableModule,
    TreeModule,
    SharedModule as PrimengSharedModule
} from 'primeng/primeng';


import { StationTagComponent } from './station-tag/station-tag.component';
import { StationTagListComponent } from './station-tag/station-tag-list/station-tag-list.component';
import { StationTagEditComponent } from './station-tag/station-tag-edit/station-tag-edit.component';
import { StationTagService } from "../../service/station-tag.service";
import { DeviceCategoryService } from "../../service/device-category.service";
import { DeviceComponent } from './device/device.component';
import { DeviceListComponent } from './device/device-list/device-list.component';
import { DeviceEditComponent } from './device/device-edit/device-edit.component';
import { DeviceService } from "../../service/device.service";
import { SubArrayService } from "../../service/sub-array.service";
import { EditorParameterComponent } from './model/editor-parameter/editor-parameter.component';
import { EditorParameterEditComponent } from './model/editor-parameter/editor-parameter-edit/editor-parameter-edit.component';
import { ModelParamService } from "../../service/model-param.service";
import { ModelParamValueService } from "../../service/model-param-value.service";
import { ModelParamComponent } from './model-param/model-param.component';
import { ModelParamListComponent } from './model-param/model-param-list/model-param-list.component';
import { ModelParamEditComponent } from './model-param/model-param-edit/model-param-edit.component';
import { CalculateExpressionComponent } from './calculate-expression/calculate-expression.component';
import { CalculateExpressionListComponent } from './calculate-expression/calculate-expression-list/calculate-expression-list.component';
import { CalculateExpressionEditComponent } from './calculate-expression/calculate-expression-edit/calculate-expression-edit.component';
import { CalculateExpressionService } from '../../service/calculate-expression.service';
import { UploadComponent } from './model/fault-alarm/upload/upload.component';
import { UploadService } from "../../service/upload.service";

@NgModule({
    imports: [
        CommonModule,
        FormsModule,
        ReactiveFormsModule,
        BasicRoutingModule,
        SharedModule,
        FormsModule,
        HttpModule,
        JsonpModule,
        AudioModule,
        DropdownModule,
        TreeTableModule,
        TreeModule,
        PrimengSharedModule,

    ],
    declarations: [
        ModelComponent,
        DicComponent,
        FarmComponent,
        BasicComponent,
        DicKeyListComponent,
        DicKeyEditComponent,
        DicValueListComponent,
        DicValueEditComponent,
        FarmListComponent,
        FarmEditComponent,
        TurbstatusComponent,
        TurbstatusListComponent,
        TurbstatusEditComponent,
        ColorConversion,
        FilterDataPipe,
        TurbstatusCheckComponent,
        TagComponent,
        PhaseComponent,
        PhaseListComponent,
        PhaseEditComponent,
        TagListComponent,
        TagDetailsComponent,
        TagEditComponent,
        TurbstatusColorComponent,
        CircuitComponent,
        CircuitListComponent,
        CircuitEditComponent,
        MatrixConfigComponent,
        MatrixLogicGroupListComponent,
        MatrixLogicGroupEditComponent,
        MatrixLogicListComponent,
        MatrixLogicEditComponent,
        MatrixStateListComponent,
        MatrixStateEditComponent,
        MatrixStateGroupListComponent,
        MatrixStateGroupEditComponent,
        StausExperListComponent,
        StausExperEditComponent,
        StausExperComponent,
        CircuitEditComponent,
        ModelListComponent,
        ModelEditComponent,
        StandardCurveComponent,
        StateInfoComponent,
        FaultAlarmComponent,
        TagMapComponent,
        StandardCurveListComponent,
        StandardCurveEditComponent,
        StandardCurveGroupEditComponent,
        StateInfoGroupEditComponent,
        StateInfoListComponent,
        StateInfoEditComponent,
        FaultAlarmListComponent,
        FaultAlarmEditComponent,
        FaultAlarmGroupEditComponent,
        TagMapListComponent,
        TagMapEditComponent,
        TagMapGroupEditComponent,
        StausExperEditComponent,
        UserComponent,
        UserListComponent,
        UserEditComponent,
        FaultLevelConfigComponent,
        FaultLevelListComponent,
        FaultLevelEditComponent,
        AlarmBasicConfigComponent,
        AlarmBasicConfigListComponent,
        AlarmBasicConfigEditComponent,
        SoundComponent,
        SoundListComponent,
        SoundEditComponent,
        UserFarmAlarmconfigComponent,
        UserfarmAlarmconfigListComponent,
        UserfarmAlarmconfigEditComponent,
        TurboperCategoryComponent,
        TurboperCategoryListComponent,
        TurboperCategoryEditComponent,
        UserfarmAlarmconfigEditComponent,
        FactoryComponent,
        FactoryListComponent,
        FactoryEditComponent,
        CompanyComponent,
        CompanyListComponent,
        CompanyEditComponent,
        StationTagComponent,
        StationTagListComponent,
        StationTagEditComponent,
        DeviceComponent,
        DeviceListComponent,
        DeviceEditComponent,
        EditorParameterComponent,
        EditorParameterEditComponent,
        ModelParamComponent,
        ModelParamListComponent,
        ModelParamEditComponent,
        CalculateExpressionComponent,
        CalculateExpressionListComponent,
        CalculateExpressionEditComponent,
        UploadComponent,
    ],
    entryComponents: [
        DicKeyListComponent,
        DicKeyEditComponent,
        DicValueListComponent,
        DicValueEditComponent,
        TurbstatusListComponent,
        TurbstatusEditComponent,
        FarmListComponent,
        FarmEditComponent,
        TurbstatusCheckComponent,
        PhaseListComponent,
        PhaseEditComponent,
        TurbstatusCheckComponent,
        TagComponent,
        TagListComponent,
        TagDetailsComponent,
        TagEditComponent,
        CircuitEditComponent,
        CircuitListComponent,
        MatrixConfigComponent,
        MatrixLogicGroupListComponent,
        MatrixLogicGroupEditComponent,
        MatrixLogicListComponent,
        MatrixLogicEditComponent,
        MatrixStateListComponent,
        MatrixStateEditComponent,
        MatrixStateGroupListComponent,
        MatrixStateGroupEditComponent,
        StausExperComponent,
        StausExperListComponent,

        CircuitListComponent,
        ModelListComponent,
        ModelEditComponent,
        StandardCurveComponent,
        StateInfoComponent,
        FaultAlarmComponent,
        TagMapComponent,
        StandardCurveListComponent,
        StandardCurveEditComponent,
        StandardCurveGroupEditComponent,
        StausExperEditComponent,
        UserComponent,
        UserListComponent,
        UserEditComponent,
        EditorParameterEditComponent,
        StateInfoGroupEditComponent,
        StateInfoListComponent,
        StateInfoEditComponent,
        FaultAlarmListComponent,
        FaultAlarmEditComponent,
        FaultAlarmGroupEditComponent,
        TagMapListComponent,
        TagMapEditComponent,
        TagMapGroupEditComponent,
        FaultLevelConfigComponent,
        FaultLevelListComponent,
        FaultLevelEditComponent,
        AlarmBasicConfigComponent,
        AlarmBasicConfigListComponent,
        AlarmBasicConfigEditComponent,
        SoundComponent,
        SoundListComponent,
        SoundEditComponent,
        UserFarmAlarmconfigComponent,
        UserfarmAlarmconfigListComponent,
        UserfarmAlarmconfigEditComponent,
        TurboperCategoryListComponent,
        TurboperCategoryEditComponent,
        UserfarmAlarmconfigEditComponent,
        FactoryListComponent,
        FactoryEditComponent,
        CompanyListComponent,
        CompanyEditComponent,
        StationTagComponent,
        StationTagListComponent,
        StationTagEditComponent,
        DeviceListComponent,
        DeviceEditComponent,
        EditorParameterComponent,
        ModelParamListComponent,
        ModelParamEditComponent,
        CalculateExpressionComponent,
        CalculateExpressionListComponent,
        CalculateExpressionEditComponent,
        UploadComponent
    ],
    providers: [
        SetofkeyService,
        SetofvalueService,
        FarmService,
        TurbStatusService,
        PhaseService,
        TagService,
        CircuitService,
        ModelService,
        MatrixStateGroupService,
        MatrixStateService,
        MatrixLogicService,
        MatrixLogicGroupService,
        ModelService,
        MyValidators,
        FactoryService,
        SchemeService,
        WindPowersService,
        RunStopsService,
        TurbStatusExprService,
        FaultService,
        TagMapService,
        TurbcomponentService,
        ModelSchemeService,
        UserService,
        RoleService,
        CompanyService,
        AlarmSoundService,
        TurboperCategoryService,
        StationTagService,
        DeviceCategoryService,
        DeviceService,
        SubArrayService,
        DeviceCategoryService,
        ModelParamService,
        ModelParamValueService,
        CalculateExpressionService,
        UploadService
    ]
})
export class BasicModule { }



// WEBPACK FOOTER //
// ./src/app/module/basic/basic.module.ts